Digital video streams can represent video using a sequence of frames or still images. Digital video can be used for various applications including, for example, video conferencing, high definition video entertainment, video advertisements, or sharing of user-generated videos. A digital video stream can contain a large amount of data and consume a significant amount of computing or communication resources of a computing device for processing, transmission or storage of the video data. Various approaches have been proposed to reduce the amount of data in video streams, including compression and other encoding techniques.
Encoding using compression can be performed by breaking frames or images into blocks that are then compressed, often using encoding techniques that result in loss of some data. A decoder can apply one or more filters to a reconstructed frame in order to remove or smooth out artifacts caused by (e.g., lossy) encoding.